﻿using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Menfram.Common;
using Menfram.Implementation.DAL;

namespace TestesUnitarios
{
    [TestClass]
    public class TestesSemMapeamento
    {
        UsuarioDAO dao = null;
        private SQLDAO conexaoSQL;
        private String url = "Data Source=LEDS01-PC\\SQLEXPRESS; Initial Catalog=TesteMenfran;Persist Security Info=true;Pwd=windows2000; User Id =sa;";
        public TestesSemMapeamento()
        {
            SQLDAO conexaoSQL = new SQLDAO();
            conexaoSQL.ConnectionUrl = url;
            Constantes.Conexao = conexaoSQL;
            dao = new UsuarioDAO();
        }
        [TestMethod]
        public void TestACreate()
        {
         

            UsuarioEntity usu = new UsuarioEntity() { Endereco = "juazerio", Nome = "Iris" };
            dao.create(usu);
            UsuarioEntity usuBD = dao.findById(usu.Sequencial);

            Assert.AreEqual(usuBD.Nome, usu.Nome);
            Assert.AreEqual(usuBD.Endereco, usu.Endereco);
            Assert.AreEqual(usuBD.Sequencial, usu.Sequencial);
        }
        [TestMethod]
        public void TestAUpdate()
        {
            UsuarioEntity usu = dao.getLast();
            Assert.IsNotNull(usu);
            usu.Nome = usu.Nome + "Atualizado";
            usu.Endereco = usu.Endereco + "Atualizado";
            dao.update(usu);

            UsuarioEntity usuBD = dao.findById(usu.Sequencial);

            Assert.AreEqual(usuBD.Nome, usu.Nome);
            Assert.AreEqual(usuBD.Endereco, usu.Endereco);
            Assert.AreEqual(usuBD.Sequencial, usu.Sequencial);
        }

        [TestMethod]
        public void TestDelete()
        {
            
            UsuarioEntity usu = dao.getLast();
            Assert.IsNotNull(usu);
            dao.delete(usu);
            UsuarioEntity usuBD = dao.findById(usu.Sequencial);
            Assert.IsNull(usuBD);
       }




    }
}
